Il Modello di Programmazione Client-Server è l'architettura fondamentale per le applicazioni distribuite. Non è definita dall'hardware, ma da una transazione logica tra due processi: un client che avvia una richiesta per un risorsa, e un server che gestisce e fornisce tale risorsa.
1. La Transazione a Quattro Passi
Ogni interazione segue una sequenza rigida: (1) il client invia una richiesta; (2) il server interpreta e manipola le risorse locali; (3) il server invia una risposta; (4) il client manipola i dati ricevuti (ad esempio, renderizzando HTML).
2. Organizzazione Hardware
La comunicazione si basa sul Adattatore di Rete, un dispositivo I/O. I dati viaggiano dalla CPU attraverso l' Ponticello I/O e Bus del Sistema fino a Memoria Principale. In una richiesta web come http://www.google.com:80, i pacchetti percorrono questi bus per raggiungere il codice dell'applicazione.
3. Astrazione dei Protocolli
Le applicazioni moderne utilizzano Ordine dei Byte di Rete (big-endian) per garantire coerenza. Funzioni come getaddrinfo forniscono mappatura da nome di dominio all'indirizzo IP rimanendo indipendenti dai protocolli.